package com.iwhalecloud.citybrain.flow.platform.manager.application.service;

import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.userentity.UserInfo;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.userentity.UserRelationShip;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
　　* @description: 用户关系服务
　　* @author shenrm
　　* @date 2021/11/3 15:00
　　*/
public interface UserRelationShipService {

    /**
     * 获取用户关系集合
     *
     * @return
     */
    List<UserRelationShip> getUserRelationShipList();


    /**
     * 根据用户编号获取用户所属组织关联的所有用户信息
     * @param userId
     * @return
     */
    Set<String> getUserByUserRelatOrgId(String userId);

    /**
     * 获取关系集合
     *
     * @param processInstanceId
     * @param type
     * @param applyUser
     * @param userCode
     * @return
     */
    Map<String, List> getRelationShipList(String processInstanceId, String type, String applyUser, String userCode);

    /**
     * 根据用户ID获取用户信息集合
     *
     * @param userId
     * @return
     */
    Set<UserInfo> getUserInfoSetByUserId(String userId);
}
